package com.knowledge.business.controller;

import com.knowledge.business.service.Assistant;
import com.knowledge.business.service.MemoryChatAssistant;
import com.knowledge.business.service.SeparateMemoryChatAssistant;
import com.knowledge.common.core.domain.AjaxResult;
import com.openai.client.OpenAIClient;
import com.openai.client.OpenAIClientAsync;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.client.okhttp.OpenAIOkHttpClientAsync;
import com.openai.models.chat.completions.ChatCompletion;
import com.openai.models.chat.completions.ChatCompletionCreateParams;
import dev.langchain4j.memory.chat.MessageWindowChatMemory;
import dev.langchain4j.model.openai.OpenAiChatModel;
import dev.langchain4j.service.AiServices;
import dev.langchain4j.service.spring.AiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;
import java.util.List;
import java.util.concurrent.CompletableFuture;

/**
 * @author: zhaoyongke
 * @create: 2025-09-09 12:00
 * @description: AiController
 */
@RestController
@RequestMapping("/business/aitest")
public class AiControllerTest {

    //
//    @Autowired
//    private OpenAiChatModel openAiChatModel;
//
//    @Autowired
//    Assistant assistant;
//
//    @Autowired
//    MemoryChatAssistant memoryChatAssistant;
//
//
//    /**
//     * 对话
//     */
//    @RequestMapping("/chat")
//    public AjaxResult chat(String message) {
//        String answer = assistant.chat(message);
//        System.out.println(answer);
//        return AjaxResult.success(answer);
//    }
//
//    /**
//     * 记忆对话
//     */
//    @RequestMapping("/mnechat")
//    public AjaxResult mnechat(String message) {
//        MessageWindowChatMemory memory = MessageWindowChatMemory.withMaxMessages(10);
//        Assistant assistant = AiServices.builder(Assistant.class).chatLanguageModel(openAiChatModel)
//                .chatMemory(memory).build();
//        String answer = assistant.chat("我是赵永科");
//        System.out.println(answer);
//        String answer2 = assistant.chat("我是谁");
//        System.out.println(answer2);
//        return AjaxResult.success(answer);
//    }
//
//    /**
//     * 记忆对话mnechatnew
//     */
//    @RequestMapping("/nologin/mnechatnew")
//    public AjaxResult mnechatnew(String message) {
//        String answer = memoryChatAssistant.chat("我是赵永科");
//        System.out.println(answer);
//        String answer2 = memoryChatAssistant.chat("我是谁");
//        System.out.println(answer2);
//        return AjaxResult.success(answer2);
//    }
//
//
//    @Autowired
//    SeparateMemoryChatAssistant separateMemoryChatAssistant;
//
//    /**
//     * 隔离记忆对话mnechatnew
//     */
//    @RequestMapping("/nologin/spmnechatnew")
//    public AjaxResult spmnechatnew(String message) {
//        String answer = separateMemoryChatAssistant.chat(1, "我是赵永科");
//        System.out.println(answer);
//        String answer2 = separateMemoryChatAssistant.chat(1, "我是谁");
//        System.out.println(answer2);
//        return AjaxResult.success(answer2);
//    }
//
//
//    /**
//     * 隔离记忆对话mnechatnewspmnechatnewMM
//     */
//    @RequestMapping("/nologin/spmnechatnewMM")
//    public AjaxResult spmnechatnewMM(String message) {
//        String answer = separateMemoryChatAssistant.chat(1, message);
//        return AjaxResult.success(answer);
//    }
//
//    /**
//     * 隔离记忆对话mprompt
//     */
//    @RequestMapping("/nologin/prompt")
//    public AjaxResult prompt(String message) {
//        String answer = separateMemoryChatAssistant.chat(4, message);
//        return AjaxResult.success(answer);
//    }
//
//
//    /**
//     * 隔离记忆对话mprompt33333
//     */
//    @RequestMapping("/nologin/prompt3")
//    public AjaxResult prompt3(String message, Integer age, String username) {
//        String answer = separateMemoryChatAssistant.chat3(5, message, "赵永科", 18);
//        return AjaxResult.success(answer);
//    }
//
//
//    public static void main(String[] args) {
//        // 创建 OpenAI 客户端，连接 DashScope 的兼容接口
//        OpenAIClientAsync client = OpenAIOkHttpClientAsync.builder()
//                // 若没有配置环境变量，请用阿里云百炼API Key将下行替换为.apiKey("sk-xxx")
//                // 新加坡和北京地域的API Key不同。获取API Key：https://help.aliyun.com/zh/model-studio/get-api-key
//                .apiKey("sk-45d255ee5ceb4e8c95d792d1260a51ba")
//                // 以下是北京地域base_url，如果使用新加坡地域的模型，需要将base_url替换为：https://dashscope-intl.aliyuncs.com/compatible-mode/v1
//                .baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1")
//                .build();
//        // 定义问题列表
//        List<String> questions = Arrays.asList("# 科沃斯DEEBOT I30系列地面清洁机器人相关文档内容提取 ## 一、产品及说明书基础信息 - DEEBOT I30系列 - 地面清洁机器人说明书 - 使用产品前请仔细阅读此说明书，并妥善保管。 - CCoVACS ## 二、安全规范 ### （一）注意 1. 针对产品在清扫中可能出现的问题，应及早排除。清理地面上的电源线和细小物品避免产品在清洁过程中受阻。将地毯的边穗翻折到地毯下，并使垂挂的窗帘、桌布等不要接触地面。 2. 若存在诸如楼梯等悬空环境，请先测试产品看其是否可以检测到悬空区域边缘而不跌落。应在悬空区域边缘设置防护栏以防产品跌落。应确保该防护设施不会引发绊倒等人身伤害。 3. 请按照说明书的指示使用产品。仅使用制造商推荐或销售的附件。 4. 确保电源电压符合充电座上标注的电压。 5. 使用产品前确保尘盒、过滤材料已安装到位。 6. 如果电源线软线损坏，为了避免危险，必须由制造商、其维修部或类似部门的专业人员更换。 7. 在清洁和维护产品前请先关闭产品开关。 8. 在清洁和维护产品前必须先将插头从电源插座拔出。 9. 在废弃产品前，请先将产品从充电座上取下，关闭产品电源开关并取出电池。 10. 若长时间不使用产品，请将产品断电。 11. 在废弃产品前，必须遵循当地法律法规移除并废弃产品电池。 12. 请遵循当地法律法规处理旧电池。 13. 产品不能由8岁以下儿童或精神上有障碍的人使用。若需要使用，请在监护人的监督指导下进行。请不要让儿童骑坐在产品上，或将产品作为玩具玩耍。 14. 仅在室内家庭环境中使用。请勿在室外、商业及工业场所使用。 15. 请勿在婴幼儿睡眠的房间里使用产品。 16. 请勿利用损坏的电源线或电源插座使用产品。当产品因跌落、损坏、室外使用或进水导致无法正常工作时，请勿使用产品。为避免伤害，产品应由制造商或其售后服务进行维修。 17. 请依照说明书的指示使用产品。因不当使用导致的任何损失及伤害，本公司概不负责。 ### （二）警告 1. 仅适用制造商专配的原装充电座。禁止用户私自更换电池，若怀疑电池损坏，请联系制造商、授权经销商或者类似部门的专业人员更换。 2. 禁止在有明火或易碎物品的环境中使用产品。 3. 禁止在极热(高于40℃)或极冷(低于0℃)的环境中使用产品。 4. 禁止人体的头发、衣服、手指等其他部位靠近产品的开口和运作部件。 5. 禁止在潮湿或有积水的地面上使用产品。 6. 禁止产品吸取诸如石子、废纸等任何可能堵塞产品的物品。 7. 禁止产品吸取任何易燃物品，如汽油、打印机或复印件用调色剂和色粉。禁止在有易燃物品的清洁区域中使用产品。 8. 禁止产品吸取任何正在燃烧的物品，如香烟、火柴、灰烬及其它可能导致火灾的物品。 9. 禁止在吸口处放置物品。吸口堵塞时请勿使用产品。清理吸口处的灰尘、棉絮、毛发等，确保吸口处空气流通顺畅。 10. 小心使用电源线避免其损坏。禁止利用电源线拖拽或提拉产品及产品充电座，禁止将电源线当作提手，禁止把电源线夹在门缝里，禁止在尖角和拐角处拉动电源线。禁止产品在电源线上运行，同时电源线应远离热源。 11. 禁止使用损坏的充电座，如果充电座损坏，为了避免危险，必须由制造商、授权经销商或者类似部门的专业人员维修或更换。 12. 即使在产品已严重受损的情况下也禁止焚烧产品，产品电池可能因此引发爆炸。 " +
//                "## 三、丢弃电池的说明 1. 若要丢弃本机内的电池，请切勿将其随同生活垃圾一起随意丢弃，" +
//                "而要将其交予就近的废弃旧电池回收站或者科沃斯分公司或售后服务中心进行集中处理。" +
//                " 2. 下述说明并非针对一般用户，而是对于最终电池处置方的处置说明。" +
//                "本机内置的电池所含的化学物质会对环境造成污染。" +
//                "在废弃处置机器人前请务必事先将机身内的电池取出，电池应当交由专业电池回收点进行集中处置。" +
//                " 3. 小心！电池泄露渗出物会导致人体损伤！ 4. 电池若有泄露渗出物，确保避免其接触眼睛或皮肤。" +
//                " 5. 若不慎接触，请立即用清水洗手并冲洗眼睛。若仍有不适感，请即刻就医。 ### 取下电池 #### 注意： " +
//                "1. 下述信息仅在丢弃本机器人时适用，并非日常操作说明！ 2. 仅可在电池内电量彻底用尽的情况下取下电池。" +
//                "无论在何种情况下电池是不能与金属物品接触的。 #### 取下电池的步骤如下所述： " +
//                "1. 让机器人在不接触全能基站的情况下运行至完全没电； 2. 将机器人电源开关关闭；" +
//                " 3. 将电池盖板上螺丝卸下； 4. 取下电池盖板； 5. 拔出电池的连接器插头并取下电池。" +
//                " ## 四、清洁液注意事项 1. 请将本产品远离热源。建议产品在0-30℃条件下密封存储" +
//                "，置于干燥阴凉处。请将本产品放置在儿童和宠物不能触及之处。 " +
//                "2. 请勿使本产品接触眼睛、皮肤。如不慎入眼，请用大量水缓慢温和冲洗至少15min，" +
//                "戴隐形眼镜者应在前5min取下隐形眼镜，然后继续冲洗眼睛。如皮肤接触本产品，请用温热的肥皂水洗净。进行以上操作后，若症状持续，请就医。 3. 请勿吸入或食用本产品。如吸入本产品，请转移至空气新鲜处。如误食本产品，请漱口或大量饮水。进行以上操作后，若不适感持续，请立即就医。 4. 使用本产品时，请勿添加其他液体，防止影响机器正常使用。 5. 科沃斯专用清洁液中出现少量悬浮物属于正常现象，请放心使用。 ## 五、设备更新 1. 通常来说，软件每两个月更新一次，但更新周期并不固定。 2. 最多保证持续更新迭代3年，针对于已过迭代周期的产品，会进行关键性漏洞解决更新。 ## 六、补充注意事项 1. 请按照说明书的指示使用产品。仅使用制造商推荐或销售的配件。如需购买各类配件，请访问科沃斯官方商城：https://mall.ecovacs.cn 2. 请遵循相关安装指示进行安装操作，或联系科沃斯认证及授权服务商获取安装服务。对于因不遵守安装指示或进行其他未经授权的改装与调整而造成的安全问题，本公司概不负责。 3. 在清洁和维护产品前必须先断开电源。 4. 产品不能由8岁以下儿童或精神上有障碍的人使用。若需要使用，请在监护人的监督指导下进行。请不要让儿童骑坐在产品上，或将产品作为玩具玩耍。 5. 仅在室内家庭环境中使用。请勿在室外、商业及工业场所使用。 6. 当产品因跌落、损坏、室外使用导致无法正常工作时，请勿使用产品。为避免伤害，产品应由制造商或其售后服务进行维修。 7. 出现水管或阀门渗漏应立刻关闭水龙头和电源。为避免伤害，产品应由制造商或其售后服务进行维修。 8. 请依照说明书的指示使用产品。因不当使用导致的任何损失及伤害，本公司概不负责。 ## 七、补充警告 1. 禁止在有明火或易碎物品的环境中使用产品。 2. 禁止在极热(高于40℃)或极冷(低于0℃)的环境中使用产品。 3. 禁止在水管或阀门出现渗漏时使用产品。 ## 八、银离子除菌包 ### （一）用途与产品特点 抗菌除菌双效合一，地面清洁、拖布清洗、污水回收全链路呵护健康。 ### （二）预防措施 1. 请勿吸入或食用本产品。如不慎吸入，请转移到空气新鲜处，保持呼吸舒适的休息姿势，就医；如不慎误食，请饮用大量水，立即呼叫解毒中心或医生，漱口，不得诱导呕吐。 2. 请勿使本产品接触眼睛。如不慎入眼，请用水小心冲洗几分钟。如戴隐形眼镜并可方便地取出，取出隐形眼镜，继续冲洗。 ### （三）注意事项 1. 请于阴凉干燥处密封保存，避免阳光直射。 2. 不可食用，请放于儿童和宠物不易触及之处。 3. 本品不能用于饮用水的抑菌处理。 4. 请按照当地法规丢弃。 5. 银离子除菌包非本模块标配产品，如需购买，请访问科沃斯官方商城：https://mall.ecovacs.cn ## 九、目录 1. 产品组成 1.1 包装内容物……5 1.2 部件名称……7 1.3 传感器介绍…… 2. 产品使用……10 2.1 注意事项……10 2.2 准备工作……11 2.3 主机充电……11 2.4 用水箱 2.5 App下载……13 2.6 主机配网……14 2.7 打开主机电源并充电……14 2.8 启动清扫……15 3. 部件保养……16 3.1 维护和保养频率……16 3.2 尘盒……17 3.3 滚刷与边刷……18 3.4 其他部件……19 3.5 全能基站……20 3.6 污水箱……20 3.7 自动上下水模块污水箱过滤网……21 3.8 尘袋……22 3.9 清洁槽……23 3.10 关机存放……24 4. 常见问题排查……25 5. 产品参数……30 ## 十、产品组成 ### （一）1.1 包装内容物 1. 主机 2. 全能基站 3. 基站斜坡底座 4. 基站电源线 5. 普通水箱配件(选配) 6. 边刷 7. 地面清洁机器人说明书 8. 产品使用资料 9. 清水箱 10. 污水箱 11. 上下水模块配件(选配)：科沃斯自动上下水模块、三分管、二分管、三分管快接弯头、二分管快接弯头、减压阀、清水三通、钻孔装饰盖、水管装饰管、减压阀C卡组件包、出水管弯头组件、二分管快接弯头组件、清洁液 12. 注：本说明书图示仅供参考，实际外观请以实物为准。 13. 注：水箱可适配银离子除菌模块，如需购买，请访问ECOVACS HOME App商城或科沃斯官网商城https://mall.ecovacs.cn。 14. 注：科沃斯上下水模块为选配配件，如需购买，请访问ECOVACS HOME App商城或科沃斯官网商城https://mall.ecovacs.cn。如需安装自动上下水模块，请联系科沃斯工作人员。 ### （二）1.2 部件名称 #### 1. 主机背面、主机正面 - 下视感应器 - 面盖 - TrueMapping 激光扫描模块 - 万向轮 - 地毯传感器 - 操作按键 - 边刷 - TrueDetect 3D 结构光传感器 - 沿边传感器 - 滚刷组件 - 缓冲防撞板 - 滚刷组件释放键 - 驱动轮 - 拖布组件安装口 - 尘盒（主机内部，面盖下方） - 重置键（配网时：短按重置键，语音提示主机配网。恢复出厂设置：长按重置键5s，提示音后，开机音乐响起，主机恢复出厂设置，请谨慎使用。） - 集尘出口 - 尘盒提手 - 滤芯 - 过滤棉*（特定机型） - 初级过滤网 - 数据传输端口（仅限专业维修人员操作） - 尘盒盖卡扣 - 麦克风*（特定机型） - 拖布组件 - 网络状态指示灯 - 充电极片 - 拖布支架 - 可水洗拖布 - 补水口 #### 2. 地宝按键操作说明 - 长按：基站自清洁 - 短按：开始/暂停/继续；长按：开关机 - 短按：退出/返回基站 - 短按：开始/结束定点清洁；长按：童锁 #### 3. 全能基站(正面) - 灯带、污水箱、清水箱 - 灯带状态：白灯常亮(低亮度)：待机；白灯常亮：工作/自清洁；红灯闪烁：故障提示；灯带熄灭：断电/休眠 - 集尘仓 - 全能基站充电极片 - 清洁槽 - 尘袋（含尘袋提手） #### 4. 全能基站(背面) - 排风口 - 电源线收纳槽 - 电源接口 - 自动上下水模块 - 出水口 - 进水口 - 污水箱滤网 - 银离子除菌模块外壳 - 清洁液槽 #### 5. 温馨提示 - 如出现红灯闪烁，请至ECOVACS HOME App查看具体故障原因。 - 如机器无法充电，请尝试使用干抹布擦拭全能基站充电极片。 - 本说明书图示仅供参考，实际外观请以实物为准。 ### （三）1.3 传感器介绍 | 部件名称 | 功能描述 | | --- | --- | | TrueMapping 激光扫描模块 | 利用激光发射与接收周边物体反射而形成的三角关系原理，通过算法计算出主机与周边物体的距离精准测距信息，当主机在一定环境内行走，通过定位周围物体的位置，绘制出主机所处空间环境地图。测量范围为8m。 | | TrueDetect 3D 结构光传感器 | TrueDetect 3D结构光传感器利用线激光扫描物体并由单目摄像头采集图像，通过图像算法生成物体的三维坐标，从而识别物体的空间大小。检测距离为0.35m。 | | 麦克风*（特定机型） | 以人声通过空气振动使震膜振动，通过声音模型的采集和算法，实现声音录制和语音控制主机完成指定的工作。有效唤醒距离为8m。 | | 下视感应器 | 利用红外测距原理，通过主机底部的红外传感器，监测主机底部与地面的距离，当主机前方有台阶(例如：白色地面高度大于等于90mm)，传感器读值超过预设值时，主机不再向前行走，实现主机防跌落功能。触发距离为60mm。 | | 地毯传感器 | 通过超声波探头发射300KHZ的超声波，当有地毯时，超声波的能量被地毯吸收，反射回来的能量小于阈值，主机识别到有地毯。在科沃斯实验室识别市面上50种以上的地毯。 | | 沿边传感器 | 通过红外测距原理，检测地宝侧方与物体之前的距离，当右侧有墙体或障碍物时，主机进行沿边动作，避免漏扫和碰撞。 | | 防撞传感器 | 通过光耦开关原理，当地宝碰撞到物体时，会进行避障。 | ## 十一、产品使用 ### （一）2.1 注意事项 #### 1. 整理待清扫空间 - 使用前，请将桌椅等家具、落地扇等物品摆放整齐，收纳好体重秤等低矮物品，整理出最大的清扫空间。 - 收纳好地面上的电线、抹布、拖鞋等杂物，提升主机工作效率。 - 如家中地毯有流苏边，请提前将其边缘卷入地毯下边。 - 请避免站在主机前方、门槛和过道等狭窄处，以免主机识别不到待清扫的区域。 #### 2. 预防主机跌落 若主机在复式楼梯口、台阶边缘等执行任务，请放置防护栏，确保其安全及运行顺畅。 #### 3. 打开房门，帮助主机探索 为了更好地帮助主机探索整个空间、建立家居地图，首次使用前请打开各个房间的房门。 ### （二）2.2 准备工作 1. 使用产品前，请先移除主机和全能基站上的所有防护物。 2. 安装主机和全能基站，听到“嗒”的一声，表示安装到位。 ### （三）2.3 主机充电 #### 1. 寻找合适的位置放置全能基站 - 全能基站靠墙放置在平坦的硬质地面，左右0.05m和前方0.8m范围内不要放置物品。 - 全能基站附近若有镜子、反光的踢脚线等反光的物体，需遮挡其底部14cm的部分。 - 请勿将全能基站放在阳光直射的地方。 - 建议放置在Wi-Fi信号强的位置，以便获得更好的使用体验。 ### （四）2.4 使用水箱 #### 1. 场景一：使用清水箱和污水箱 注：为延长使用寿命，请仅使用科沃斯专用清洁液" +
//                "。如需购买，请访问ECOVACS HOME App商城或科沃斯官网商城https://mall.ecovacs.cn。 #### 2. 场景二：使用自动上下水模块 - 打开前盖 - 向内推入清洁液，并按压确保锁紧。再次按压可解锁取出清洁液。 #### 3. 温馨提示 - 使用前，请确保锁紧清洁液，以免影响产品正常使用。 - 为延长使用寿命，请仅使用科沃斯官方专用清洁液。 - 水箱内水渍为出厂测试时遗留，请放心使用。 - 请勿使异物落入清洁液中。 ### （五）2.5 APP 下载 1. 下载ECOVACS HOME App，体验地宝的更多功能。 2. 下载方法： - 方法一：扫描机身二维码（主机面盖下方），根据提示免费下载并安装App。 - 方法二：打开手机应用商店，搜索“ECOVACS HOME”，下载并安装（支持iOS、Android系统）。 3. 温馨提示：安装完成后请根据手机App页面引导完成注册、登录及配网。 ### （六）2.6 主机配网 #### 1. 配网方法 - 方法一：蓝牙配网。地宝开机，打开手机蓝牙，允许ECOVACS HOME App获取手机蓝牙权限。在App中点击对应图标，App会自动弹出附近的机器人或扫码进入蓝牙配网模式。 - 方法二：Wi-Fi配网。您也可在App配网页面中，根据页面提示，选择切换其他配网方式。" +
//                " #### 2. Wi-Fi网络要求 - 使用2.4GHz或2.4/5 GHz混合网络。 - 路由器支持802.11b/g/n和IPv4协议。 " +
//                "- 切勿使用VPN(虚拟专用网络)或代理服务器。 - 切勿使用隐藏的网络。" +
//                " - 使用TKIP、PSK、AES/CCMP加密的WPA和WPA2。 - 不支持WEP EAP(企业认证协议)。" +
//                " - 在北美地区使用Wi-Fi信道1-11，在北美以外地区使用Wi-Fi信道1-13（请咨询当地监管机构）。 " +
//                "- 如果使用网络扩展器/中继器，则网络名称(SSID)和密码与主网络同。 - 请确保路由器打开了WPA2选项。 #### " +
//                "3. Wi-Fi指示灯状态 | 指示灯状态 | 含义 | | --- | --- | | 白灯慢闪 | 配网中 | | 白灯快闪 | 已断开Wi-Fi | | 白灯常亮 | 已连接Wi-Fi | #### 4. 重要说明 请您务必知悉科沃斯产品的远程启动、语音交互、2D/3D地图的展示和操控设置、个性化清扫模式等智能功能(具体视不同产品而定)的实现需要用户通过下载和使用科沃斯不断更新的ECOVACS HOME App来实现。您需要同意我们的《隐私政策》和《用户协议》，我们才能处理一些您的基础且必要的信息，才能实现您使用ECOVACS HOME App操控本产品的一些功能。如果您不同意我们的《隐私政策》和《用户协议》，您将无法使用ECOVACS HOME App操控本产品以实现本产品的前述某些智能功能，但您仍然可以使用本产品的手动操作的基础功能。 ### （七）2.7 打开主机电源并充电 1. 长按主机对应按键3秒，等待开机音乐响起，表示地宝开机。 2. 短按对应按键，主机自动进入全能基站开始充电（充电时间约4.5h）。 3. 注：全能基站安装完毕并连接电源时，主机会在有需要时自动返回充电并清空尘盒。为了方便主机完成清扫后能够顺利返回充电，建议主机从全能基站出发，清扫过程中请勿搬动全能基站。 4. 温馨提示：地宝进入全能基站后，等待5秒左右将听到语音提示“配对成功”。 ### （八）2.8 启动清扫 #### 1. 首次建图注意事项 首次建图时，请跟随主机，帮助排除一些不友好的小问题。例如，主机可能会卡在家具低矮处，可以参考以下的方法解决： - 如有条件，可垫高家具； - 遮挡家具底部，不让主机进入； - 在App中设置虚拟墙，禁止主机进入。 #### 2. 启动清扫 首次开启清扫工作，请确保产品在全能基站上且充满电。短按主机对应按键，主机开始清扫的同时建立地图。 #### 3. 暂停 主机工作中，短按主机对应按键，即可暂停主机。 #### 4. 唤醒 暂停一段时间后，主机面板所有指示灯熄灭。如需再次启动工作，请短按主机对应按键。 #### 5. 返回全能基站 短按对应按键，主机返回全能基站充电。 #### 6. 深度休眠 为保护电池，主机在全能基站外待机约5h后，将进入深度休眠状态。请尝试长按对应按键3秒，重新开机。 #### 7. 温馨提示 - 为延长可水洗拖布使用寿命，请勿频繁取下可水洗拖布。 - 请勿使用抹布或其他任何物体刮擦拖布支架，以免缩短魔术贴使用寿命。 - 当ECOVACS HOME App提示拖布需更换时，请及时进行更换。如需购买配件，请访问ECOVACS HOME App商城或科沃斯官网商城：https://mall.ecovacs.cn - 主机结束工作后，建议不要关机，保持主机在充电状态，以便更好地进行下一次工作。 ## 十二、部件保养 ### （一）3.1 维护和保养频率 | 部件 | 维护频率 | 更换频率 | | --- | --- | --- | | 可水洗拖布 | / | 每1-2个月 | | 尘袋 | / | 在App提示时进行更换 | | 边刷 | 每2周 | 每3-6个月 | | 滚刷 | 每1周 | 每6-12个月 | | 滤芯 | 每1周 | 每3-6个月 | | TrueDetect 3D结构光传感器、导航模组、万向轮、下视感应器、缓冲防撞板、主机充电极片、全能基站充电极片 | 每1周 | / | | 清水箱 | 每3月 | / | | 污水箱 | 每次拖地后 | / | | 集尘仓内部 | 每1月 | / | | 全能基站机身和底部 | 每1月 | / | | 自动上下水模块污水箱过滤网 | 每2月 | / | #### 温馨提示： 如需购买各类配件，请访问ECOVACS HOME App商城或科沃斯官方商城：https://mall.ecovacs.cn。 ### （二）3.2 尘盒 1. 打开尘盒盖，倾倒垃圾。 2. 打开初级滤网后，取下滤芯、过滤棉*（特定机型）。 3. 清理初级滤网上的灰尘，注意里外两面都要清理。 4. 可用水冲洗尘盒、滤芯、过滤棉*（特定机型）。冲洗完成后请甩干水珠。 #### 注意事项： 1. 请参照图示方式，用清水进行冲洗。 2. 请勿用刷子或手对滤芯进行刷洗。 #### 晾干 温馨提示：请务必将滤材完全晾干后再使用。 #### 补充提示 建议您在ECOVACS HOME App商城或科沃斯官网商城：https://mall.ecovacs.cn购买专用滤材组件和清理小工具。 ### （三）3.3 滚刷与边刷 #### 1. 清理滚刷 - 打开盖板 - 取出滚刷 - 清理滚刷 #### 2. 清理边刷 - 取下边刷 - 清理边刷 ### （四）3.4 其他部件 1. 清理传感器镜片 2. 清理缓冲防撞板 3. 清理充电极片 温馨提示：充电极片内部包含敏感的电子元件，清理时请使用干抹布，请勿使用湿抹布以防进水造成损坏。 4. 清理驱动轮和万向轮 5. 清理下视感应器 温馨提示：请用干净的软布擦拭，请勿使用湿抹布。不要用洗剂、洗衣液、喷雾器等，以防进水造成损坏。 ### （五）3.5 全能基站 1. 长按对应按键，清洁槽自动加水。 2. 清理清洁槽。 3. 长按对应按键，清洁槽自动抽干污水。 ### （六）3.6 污水箱 清空污水箱。 ### （七）3.7 自动上下水模块污水箱过滤网 1. 取出污水箱过滤网 2. 安装污水箱过滤网 3. 清洗污水箱过滤网 温馨提示：清洗后，请务必重新安装污水箱过滤网，以免影响产品正常使用。污水箱过滤网清洗后请再次安装以免造成水路堵塞。 ### （八）3.8 尘袋 1. 丢弃尘袋（注：取出时，尘袋提手会将尘袋密闭起来，有效防止灰尘漏出）。 2. 用干抹布擦拭集尘仓，安装新尘袋。 3. 关闭集尘仓。 ### （九）3.9 清洁槽 1. 取出清洁槽可拆卸底盘并清洗。 2. 取出基站斜坡底座并清洗。 3. 安装清洁槽，听到“嗒”的一声，表示安装到位。 温馨提示：请正确安装清洁槽，以免影响正常使用。 ### （十）3.10 关机存放 1. 若长时间不使用产品，储存前请先将其充满电，再关机。关机时，请先将主机放回基站，然后长按对应按键关机。并坚持每1.5个月为其补充电，以防电池过放。 2. 请注意，主机无法在电源关闭的情况下充电。 3. 温馨提示：主机结束工作后，建议不要关机，保持主机在充电状态，以便更好地进行下一次工作。 4. 注：电池过放或长期不使用，产品可能无法充电，请联系本公司售后进行维修，切勿自行拆卸。 ## 十三、常见问题排查 ### （一）表1 | 序号 | 故障情况 | 可能原因 | 解决方法 | | --- | --- | --- | --- | | 1 | 主机无法连接App | 路由器用户名和密码不正确 | 配置路由器网络，确保输入的路由器用户名和密码正确 | | | | 主机不在路由器的网络信号覆盖范围内 | 确保主机在路由器的网络信号覆盖范围内 | | | | 主机未处于待配置状态 | 只有主机处于待配置状态时才能对其进行网络配置。主机通电，打开主机面盖，短按一下重置键，听到主机提示音，即表示主机进入待配置状态 | | | | 没有使用2.4GHz或2.4/5GHz混合网络 | 主机暂不支持5GHz网络，联网时请使用2.4GHz或2.4/5GHz混合网络 | | | | 可能下载了错误的App应用 | 请扫描本产品二维码或去应用市场下载ECOVACS HOME App | | 2 | 地图丢失 | 搬动主机，可能有丢失地图的风险 | 将主机搬至全能基站前方尝试恢复。在app地图管理中找到已存地图，尝试点击“使用地图”进行恢复。如果以上均无法解决，建议重新建图 | | 3 | 无法在App上创建地图 | 主机未从全能基站出发 | 主机须从全能基站出发开始清扫 | | | | 清扫过程中搬动主机，导致主机定位失败 | 清扫过程中，请尽可能避免搬动主机 | | | | 自动清扫任务未完成 | 让主机清扫完成后自动返回全能基站 | | 4 | 边刷脱落 | 安装不到位 | 安装时需要听到“嗒”的一声，确保边刷安装到位 | | 5 | 找不到全能基站信号，无法返回全能基站 | 全能基站摆放位置不正确 | 请按照说明书【主机充电】章节的方法正确摆放全能基站 | | | | 全能基站断电或被人为移动 | 请检查全能基站是否连接电源。不要人为移动全能基站位置 | | | | 主机没有从全能基站出发开始清扫 | 建议让主机从全能基站出发开始清扫 | | | | 回充路线被阻断（例如，有全能基站的房间房门被关闭） | 请保持回充路线通畅 | ### （二）表2 | 序号 | 故障情况 | 可能原因 | 解决方法 | | --- | --- | --- | --- | | 6 | 未清扫完毕，主机返回充电 | 房间较大，主机需要中途返回充电 | 建议开启断点续扫，具体操作方法可参考App指引 | | | | 家居环境非常复杂的情况下，清扫效率会降低，可能无法清扫完 | 整理家居环境 | | 7 | 主机无法充电 | 主机与全能基站的充电极片未充分接触 | 确保主机与全能基站的充电极片充分对接。检查主机和全能基站的充电极片是否脏污，可参照说明书【部件保养】章节清理 | | | | 全能基站未连接电源 | 确保全能基站电源已连接 | | | | 长时间不使用，导致电池过放 | 建议经常使用本产品，如果长时间未使用导致无法充电，请联系售后服务人员 | | 8 | 主机工作时，运行声音大 | 边刷、滚刷被缠住，尘盒、过滤材料被堵住等 | 建议定期清理及保养边刷、滚刷、尘盒、过滤材料等 | | | | 主机进入强劲清扫模式 | 更改为标准清扫模式 | | 9 | 主机工作时陷入困境 | 主机被地面上散乱电线、下垂的窗帘布或地毯须边等缠绕或阻碍 | 主机会自主尝试各种方法脱困，若未能脱困，建议手动帮助 | | | | 主机可能被与主机高度相近的家具卡住 | 建议垫高家具，或人为遮挡，或通过App引导设置虚拟墙 | | 10 | 主机工作时出现路线乱、跑偏、重复清扫及小区域漏扫等情况（如有大面积暂时未扫的区域，主机会进行自主补漏） | 地面摆放的电线、拖鞋等物体影响到主机正常工作 | 主机工作前请先整理好地面散落的电线、拖鞋等物体，尽可能减少地面零散物品摆放。如果出现漏扫现象，主机会自主补漏，请不要人为干扰（如搬动主机或阻挡主机行进路线） | | | | 可能由于主机攀爬台阶、门槛、门条时，驱动轮在地面上打滑，从而影响到主机对整屋环境的判断 | 建议关好该区域的房门，单独清扫该区域，清扫完成后会回到起点，请您放心使用 | | | | 在刚打蜡、抛光的地板或者光滑的地砖上工作，造成驱动轮和地面的摩擦力减小 | 建议您等地板蜡风干后再使用 | | | | 由于家庭环境不同，个别区域主机无法进入清扫 | 建议整理家居环境保证主机可以进入进行清扫 | ### （三）表3 | 序号 | 故障情况 | 可能原因 | 解决方法 | | --- | --- | --- | --- | | 11 | 主机返回全能基站后，未开始自动集尘 | 集尘仓未关闭 | 请关闭集尘仓 | | | | 全能基站未安装尘袋 | 安装尘袋，并关闭集尘仓 | | | | 手动搬动主机回到全能基站，未触发自动集尘 | 为了方便主机完成清扫后能够顺利返回充电集尘，建议让主机自行返回全能基站，避免手动搬动主机 | | | | 当在ECOVACS HOME App中设置为勿扰模式时，主机在返回全能基站时不会开始集尘 | 可在ECOVACS HOME App中取消勿扰模式，或手动启动集尘 | | | | 全能基站检测到集尘效率降低 | 按照说明书【部件保养】的说明更换尘袋，并关闭集尘仓。如App提示时，尘袋尚未装满，再次装回即可 | | | | 如以上的可能原因都已经排除，可能是全能基站元器件异常 | 请联系售后服务人员 | | 12 | 自动集尘不成功 | 全能基站检测到集尘效率降低 | 按照说明书【部件保养】提示更换尘袋，并关闭集尘仓。如App提示时，尘袋尚未装满，取出尘袋再次装回即可 | | | | 尘盒的集尘出口被异物卡住 | 取出尘盒，并清理集尘出口上的异物 | | 13 | 全能基站尘桶内脏污 | 细微颗粒透过尘袋吸附在集尘仓内侧 | 清理集尘仓内壁 | | | | 尘袋破损 | 检查尘袋并更换 | | 14 | 主机运行中漏灰 | 尘盒的集尘出口被异物卡住 | 取出尘盒，并清理集尘出口上的异物 | | 15 | 拖布支架无法旋转 | 拖布支架被异物卡住 | 请清除异物 | | 16 | 主机不响应全能基站指令 | 主机与全能基站距离过远 | 如超出可用距离，也可使用ECOVACS HOME App操作主机 | | | | 主机和全能基站未配对 | 拔出全能基站插头，等待10s后重新插入插头。关闭主机电源，然后重新打开。手动将主机推上全能基站，确保充电极片正确对接，主机将开始充电，并播报配对成功语音 | | 17 | 驱动轮卡住 | 驱动轮被异物缠绕或卡住 | 请转动及按压驱动轮，检查是否有异物缠绕或卡住，有异物请及时清理。如无法解决，请联系售后服务人员 | ### （四）表4 | 序号 | 故障情况 | 可能原因 | 解决方法 | | --- | --- | --- | --- | | 18 | 全能基站清洁槽内水满无法吸出，语音报警反馈清洁槽水满 | 污水箱未正确安装 | 向下轻按污水箱，确保污水箱正确安装 | | | | 污水箱内封闭塞未正常安装 | 确保检查全能基站内污水箱两个封闭塞已正常安装 | | | | 全能基站无法正常抽水 | 长按对应按键，待清洁槽自动加水完成后，长按对应按键，观察全能基站是否能够正常抽水。若全能基站清洗拖布过程中出现该故障，请先通过App/语音结束任务，再重复以上动作，观察是否正常抽水。若正常抽水，请擦干清洁槽溢水感应片；若无法抽水，请检查污水箱与全能基站之间是否存在异物，若有请清理 | | | | 清洁槽吸水口有异物，或清洁槽脏污 | 确保清洁槽内吸水口无异物，清理清洁槽 | | | | 尝试以上方法仍无法解除语音报警 | 重新插拔全能基站电源开关。如无法解决，请联系售后服务人员 | | 19 | 拖布盘无法自动升降（除特定机型外） | 拖布盘被异物缠绕或卡住 | 请清除异物 | | | | 拖布盘脱落 | 重新安装拖布盘，安装时需听见“嗒”的一声，确保拖布盘安装到位 | ### （五）表5 | 序号 | 故障情况 | 解决方法 | | --- | --- | --- | | 1 | 清水箱上水异常 | ① 请检查家中是否停水、加水的阀门是否打开 ② 请检查家中水压是否正常 ③ 请检查家中是否停电 ④ 清沿着管道检查是否有管道弯折的情况 若以上方法均无法解决异常问题，请联络售后服务人员 | | 2 | 污水箱已满 | 请确保下水管正常。沿着管道检查是否有管道局部压迫导致无法排水的情形 若有此情形，请联络售后服务人员 | | 3 | 基站清洁槽已满水 | ① 长按地宝对应按键开始自行清洁，观察基站是否可以正常抽水 若可正常抽水，请擦拭清洁槽的溢水感应片 若无法抽水，请检查清洁槽内是否有异物阻塞，并及时清理 ② 请确保模块污水箱过滤件旋钮已正确拧紧 ③ 请确定已正确安装可拆卸底盘 ④ 请检查可拆卸底盘是否阻塞，并及时清理 若以上方法均无法解决异常问题，请联络售后服务人员 | #### 补充说明 如按上述操作无法排除故障，可联系售后服务人员。 ## 十四、产品参数 ### （一）基础参数表 | 产品型号 | DDX11/DDX14 | | | | --- | --- | --- | --- | | 主机额定输入 | 20V 2A | 充电时间 | 约4.5h | | 充电座(自动洗拖布集尘座)型号 | CH2311/CH2311A | | | | 额定输入、额定输入电流(充电状态) | 220-240V ~ 50-60Hz、0.5A | 额定输出、功率(集尘状态) | 20V 2A、1000W | | 功率(热水洗拖布状态) | 1650W | | | | 自动上下水模块型号 | FM2321 | | | | 额定输入电压 | 12V | 额定输入功率 | 8W | | 额定输入电流、地宝尺寸(长宽高mm) | 0.7A | 最大进水水压、地宝尺寸(长宽高mm) | 0.7MPa、353*351*104(有麦克风)/353*351*99(无麦克风) | | 基站尺寸(长宽高mm) | 409*490*480(水箱版)/409*490*400(上下水版) | | | ### （二）有害物质含量表 | 部件类别 | 铅(Pb)及其化合物 | 汞(Hg)及其化合物 | 镉(Cd)及其化合物 | 六价铬(Cr(VI))及其化合物 | 多溴联苯(PBB) | 多溴二苯醚(PBDE) | | --- | --- | --- | --- | --- | --- | --- | | 塑胶件 | ￮ | ￮ | ￮ | ￮ | ￮ | ￮ | | 五金件 | × | ￮ | ￮ | ￮ | ￮ | ￮ | | 电子元器件 | × | ￮ | × | ￮ | ￮ | ￮ | | 电池 | ￮ | ￮ | ￮ | ￮ | ￮ | ￮ | | 其他 | ￮ | ￮ | ￮ | ￮ | ￮ | ￮ | #### 说明 1. 本表格依据SJ/T 11364的规定编制。 2. ￮：表示该有害物质在该部件所有均质材料中的含量均在GB/T 26572现行有效版本规定的限量要求以下。 3. ×：表示该有害物质至少在该部件的某一均质材料中的含量超出GB/T 26572现行有效版本规定的限量要求，且目前业界没有成熟的替代方案，符合欧盟RoHS指令要求。 4. 本标识内数字表示产品在正常使用状态下的环保使用期限为10年。 ### （三）执行标准 1. GB 4706.1-2005 《家用和类似用途电器的安全 第1部分：通用要求》 2. GB 4706.7-2014 《家用和类似用途电器的安全 真空吸尘器和吸水式清洁器具的特殊要求》 3. GB 4343.1-2018 《家用电器、电动工具和类似器具的电磁兼容要求 第1部分：发射》 4. GB 17625.1-2022 《电磁兼容 限值 第1部分：谐波电流发射限值(设备每相输入电流≤16A)》 5. QB/T 4833-2015 《家用和类似用途清洁机器人》 #### 补充说明 1. 核准代码体现在产品铭牌上。 2. 因产品持续改善的需要，本资料产品以实物为准，我公司保留产品更新的权利。 3. 在使用中如遇任何问题，请用微信扫描如下二维码，联系在线客服。 4. 您也可联系我们的售后服务中心：400-886-8888，将有专业人员为您解答问题。 5. 更多详情请至科沃斯官网：www.ecovacs.com ## 十五、合格证 1. 生产日期：…（见基站铭牌） 2. 检验员： 3. 生产厂名称：科沃斯家用机器人有限公司 4. 生产厂地址：苏州市吴中区郭巷街道吴淞江产业园淞苇路518号 5. 制造商名称：科沃斯家用机器人有限公司 6. 制造商地址：苏州市吴中区郭巷街道吴淞江产业园淞苇路518号");
//        // 创建异步任务列表
//        CompletableFuture<?>[] futures = questions.stream()
//                .map(question -> CompletableFuture.supplyAsync(() -> {
//                    System.out.println("发送问题: " + question);
//                    // 创建 ChatCompletion 参数
//                    ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
//                            .model("qwen-flash")  // 指定模型
//                            .addSystemMessage("请帮我提取文档中的全部产品名称清单，把每个产品名称输出就可以了，每个产品名称之间用$号连接")
//                            .addUserMessage(question)
//                            .build();
//                    // 发送异步请求并处理响应
//                    return client.chat().completions().create(params)
//                            .thenAccept(chatCompletion -> {
//                                String content = chatCompletion.choices().get(0).message().content().orElse("无响应内容");
//                                System.out.println("模型回复: " + content);
//                            })
//                            .exceptionally(e -> {
//                                System.err.println("错误信息：" + e.getMessage());
//                                System.out.println("请参考文档：https://help.aliyun.com/zh/model-studio/developer-reference/error-code");
//                                return null;
//                            });
//                }).thenCompose(future -> future))
//                .toArray(CompletableFuture[]::new);
//
//        // 等待所有异步操作完成
//        CompletableFuture.allOf(futures).join();
//    }


}
